package cn.harry.cabinet.model.entity

import androidx.room.Entity
import androidx.room.PrimaryKey
import cn.harry.cabinet.model.enums.DeviceType
import java.util.Date

/**
 * 硬件设备配置表
 * 每种设备类型只有一个实例，使用 deviceType 作为主键
 */
@Entity(tableName = "hardware_devices")
data class HardwareDevice(

    /** 设备类型（LOCK_CONTROLLER, CARD_READER） - 主键 */
    @PrimaryKey
    val deviceType: DeviceType,

    /** 设备名称 */
    val deviceName: String,

    /** 串口路径 */
    val serialPort: String,

    /** 波特率 */
    val baudRate: Int,

    /** 数据位 */
    val dataBits: Int,

    /** 停止位 */
    val stopBits: Int,

    /** 校验类型（0:无校验, 1:奇校验, 2:偶校验） */
    val parity: Int,

    /** 是否启用 */
    val enabled: Boolean,

    /** 创建时间 */
    val createTime: Date = Date(),

    /** 修改时间 */
    val updateTime: Date = Date()
)
